clojure.core の識別子に関する var
Ident
ident?: 引数がシンボルまたはキーワードか
シンボル(clojure.lang.Symbol)
+ や concat、java.lang.String など、フォーム として用いられるデータ型 キーワード(clojure.lang.Keyword)
: から始まる、データの 識別子 として用いられるデータ型 :: を用いることで、名前空間 付きキーワードが作成できる code:clj
::a ; :user/a
code:clj
(ident? 'x) ; true
(ident? :a) ; true
(ident? "a") ; false
simple-ident?: 引数が名前空間のないシンボルまたはキーワードか
qualified-ident? 引数が名前空間を持つシンボルまたはキーワードか
code:clj
namespace: シンボルやキーワードの名前空間を取得する
code:clj
(namespace 'user/x) ; "user"
name: 文字列やシンボル、キーワードの名前を返す
code:clj
(name 'x) ; "x"
Keyword
keyword: 指定された名前空間と名前を持つキーワードを返す
code:clj
(keyword 'foo) ; :foo
(keyword "foo") ; :foo
(keyword "user" "foo") ; :user/foo
keyword?: 引数がキーワードか
code:clj
simple-keyword?: 引数が名前空間のないキーワードか
qualified-keyword?: 引数が名前空間のないキーワードか
code:clj
(map (juxt simple-keyword? qualified-keyword?) :user/x :x) Symbol
symbol: 指定された名前空間と名前を持つシンボルを返す
code:clj
(symbol 'foo) ; foo
(symbol "foo") ; foo
(symbol "user" "foo") ; user/foo
symbol?: 引数がシンボルか
code:clj
;; (false false true)
simple-symbol?: 引数が名前空間のないシンボルか
qualified-symbol?: 引数が名前空間のないシンボルか
code:clj
(map (juxt simple-symbol? qualified-symbol?) 'user/x 'x)